export const crudOptions = (vm) => {
  return {
    rowHandle: {
      view: {
        disabled () {
          return false
          // return !vm.hasPermissions(':api_projectinfo:edit')
        }
      },
      edit: {
        disabled () {
          return false
          // return !vm.hasPermissions(':api_projectinfo:edit')
        }
      },
      remove: {
        disabled () {
          return false
          // return !vm.hasPermissions(':api_projectinfo:del')
        }
      },
      fixed: 'right'
    },
    options: {
      tableType: 'vxe-table',
      rowKey: true, // 必须设置，true or false
      rowId: 'id',
      height: '100%', // 表格高度100%, 使用toolbar必须设置
      highlightCurrentRow: false
    },
    formOptions: { // 表单宽度
      defaultSpan: 24, // 默认的表单 span
      width: '35%'
    },
    indexRow: { // 序号
      title: '序号',
      align: 'center',
      width: 60
    },
    selectionRow: { // 多选框
      align: 'center',
      width: 46
    },
    columns: [
      {
        title: '',
        key: 'id',
        form: { // 表单配置
          disabled: true // 禁用表单编辑
        },
        // type: 'select',
        // dict: { url: ''}, //数据字典
        // search: { disabled: false }, // 开启查询
        disabled: true, // 隐藏列
        sortable: true
      },
      {
        title: '项目名称',
        key: 'project_name',
        // type: 'select',
        // dict: { url: ''}, //数据字典
        search: { disabled: false }, // 开启查询
        // disabled: true, // 隐藏列
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '项目名称' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入项目名称'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        },
        sortable: true
      },
      {
        title: '负责人',
        key: 'responsible_name',
        // type: 'select',
        // dict: { url: ''}, //数据字典
        search: { disabled: false }, // 开启查询
        // disabled: true, // 隐藏列
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '负责人' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入负责人'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        },
        sortable: true
      },
      {
        title: '测试人员',
        key: 'test_user',
        // type: 'select',
        // dict: { url: ''}, //数据字典
        // search: { disabled: false }, // 开启查询
        // disabled: true, // 隐藏列
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '测试人员' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入测试人员'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        },
        sortable: true
      },
      {
        title: '开发人员',
        key: 'dev_user',
        // type: 'select',
        // dict: { url: ''}, //数据字典
        // search: { disabled: false }, // 开启查询
        // disabled: true, // 隐藏列
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '开发人员' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入开发人员'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        },
        sortable: true
      },
      {
        title: '发布应用',
        key: 'publish_app',
        // type: 'select',
        // dict: { url: ''}, //数据字典
        // search: { disabled: false }, // 开启查询
        // disabled: true, // 隐藏列
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '发布应用' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入发布应用'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        },
        sortable: true
      }
    ].concat(vm.commonEndColumns())
  }
}
